import { reqGetSearchInfo } from "@/api";
// search 模块的小仓库
const state = {
    //仓库初始的状态
    searchList:{}
};
const mutations = {
    GETSEARCHLIST(state, searchList){
        state.searchList = searchList
    }
};
const actions = {
    //获取search模块数据   
    async getSearchList({commit}, params={}) {
        //当前这个reqGetSearchInfo这个函数在调用服务器时候  至少传递一个空对象
        //params形参：是当用户派发action的时候，第二个参数传递过来的，至少是一个空对象
        let result = await reqGetSearchInfo(params)
        // console.log('123', result);
        if(result.code==200) {
            commit('GETSEARCHLIST', result.data)
        }
    }
};
//计算属性：在项目当中，为了简化数据而生
//可以把我们将来在组件中需要用到的数据进行简化（好处：将来组件在获取数据的时候就方便了）
    //     ...mapState({
    //         goodsList:state=>state.search.searchList.goodsList
    //     })
const getters = {
    // 当前形参state，当前仓库中的state，并非大仓库中的那个state
    goodsList(state) {
        // 这样写可能出现问题 {}.goodsList 返回undefined  没网返回undefined，至少返回空数组
        //数据回来返回的是一个数组，如果没网，返回undefined
        //计算新的属性的属性值至少给人家来一个数组
        return state.searchList.goodsList || []
    },
    trademarkList(state){
        return state.searchList.trademarkList
    },
    attrsList(state){
        return state.searchList.attrsList
    }
};

export default {
    state,
    mutations,
    actions,
    getters
}